home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / sys / cbm / 4396 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  1.7 KB

  1. Path: gatekeeper.liffe.com!usenet
  2. From: ralph.mason@liffe.com (Ralph Mason)
  3. Newsgroups: comp.sys.cbm,comp.os.misc,alt.comp.hardware.homebuilt,comp.sys.apple2,comp.sys.apple2.programmer,comp.sys.atari.8bit
  4. Subject: Re: 6502 Multitasking OS announce
  5. Date: Fri, 22 Mar 1996 08:50:29 GMT
  6. Organization: London International Financial Futures Exchange
  7. Message-ID: <4itq1h$cm4@gatekeeper.liffe.com>
  8. References: <4i94fs$stj@narses.hrz.tu-chemnitz.de> <holger.948.00030EE6@deep.hb.provi.de> <4ijtbe$7ca@no-names.nerdc.ufl.edu> <4ijuic$iiq@gatekeeper.liffe.com> <4innc7$hc4@no-names.nerdc.ufl.edu> <4itkri$qlc@seagoon.newcastle.edu.au>
  9. Reply-To: ralph.mason@liffe.com
  10. NNTP-Posting-Host: ralph_pc.liffe.com
  11. X-Newsreader: Forte Free Agent 1.0.82
  12.  
  13. "Bruce R. McFarling" <ecbm@cc.newcastle.edu.au> wrote:
  14.  
  15.  
  16. >    Disadavantage: in addition to the registers, the location 
  17. >providing the stack address would have to be saved and restored in a task 
  18. >switch. The accessing is 3 to 5 clocks slower than PHA PLA, depending on 
  19. >whether a page address boundary is crossed. And the ability to 
  20. >independently point at two stack entries is lost.
  21.  
  22. Another one I think you forgot to mention is just how hard it would be
  23. to make and return from function calls.  
  24.  
  25. You also seem to lose a register & considering you only have three I
  26. don't think it's that workable for use in a multitasking OS.
  27.  
  28. The MMU and switching out the zero page and stack would seem to be the
  29. cleanest and best solution.  It also makes the context switch VERY
  30. easy.  In the interrupt handler all you do is the normal style of 6502
  31. interrupt code pushing all registers on the stack. swap the pages in
  32. the mmu, pop all the registers back ( standard 6502 int exit ) and do
  33. a iret - job done.
  34.  
  35. -Ralph
  36.  
  37.  
  38.